Internet users expect websites to contain current information that is delivered quickly. Individual modification of web pages is often impractical each time content is updated due to the vast amount of information that a website may contain. Web content may be dynamically generated using Active Server Pages (ASP). When a web page is requested, a server may dynamically render the page to include information from a database to ensure that the served page contains current information. However, the rendering step may cause delays when serving pages because the dynamically generated content may be expensive to generate.
Output caching may increase serving speed when information need not be updated each time it is requested. For example, the fully rendered copy of a page may be stored inside an output cache the first time that the dynamic page is requested. The server may serve the stored copy from the output cache the next time the page is requested rather than re-rendering the page. By skipping the rendering step, output caching markedly increases the rate at which requested pages are served.
A page output directive tag describes a set of parameters associated with that individual page. For example, using different parameters of the page output directive some pages may be cached for a long duration, while others may never be cached. A server may be instructed to either render a new page or to serve a previously cached page based on the directive tag associated with the page and the state of the page in the output cache. Each output directive tags may define a different caching policy. For example, each page in a website might define it's own page output directive parameters. However, modifying the page output cache directive associated with individual web pages can be laborious in a large website.